Supporting Model Refactorings Through Behaviour Inheritance Consistencies

نویسندگان

  • Ragnhild Van Der Straeten
  • Viviane Jonckers
  • Tom Mens
چکیده

This paper addresses the problem of consistency preservation in model-driven software development. Software models typically embody many different views that need to be kept consistent. In the context of consistency within a model, behaviour inheritance consistencies restrict the way the behaviour of a subclass can specialize the behaviour of a superclass. In the context of model evolution, model refactorings restructure a model while preserving its behavioural properties. It is still an open research question how to define behaviour preservation properties for model refactorings. We claim that behaviour inheritance consistencies correspond, in an evolution context, to the preservation of behavioural properties between model versions. To illustrate this claim, we implemented consistency rules and preservation behaviour rules in Racer, a reasoning engine for description logics. We show how the same logic rules can be used to detect behaviour inheritance inconsistencies in a model and to detect the preservation of call behaviour properties during model refactoring.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Need for Object - Oriented Reengineering

insert() abstract delete() abstract lookup() abstract forall() HashSet ... ListSet ... Set impl insert() delete() lookup() forall() deleteAll() union() constructor() changeImpl() SetImpl abstract insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; }insert() abstract delete() abstract lookup() abstract forall(...

متن کامل

Modelchecking Correctness of Refactorings - Some Experiments

Refactorings are changes made to programs, models or specifications with the intention of improving their structure and thus making them clearer, more readable and re-usable. Refactorings are required to be behaviour-preserving in that the external behaviour of the program/model/specification remains unchanged. In this paper we show how a simple type of refactorings on object-oriented specifica...

متن کامل

Edelta: An Approach for Defining and Applying Reusable Metamodel Refactorings

Metamodels can be considered one of the key artifacts of any model-based project. Similarly to other software artifacts, metamodels are expected to evolve during their lifecycle and consequently it is crucial to develop approaches and tools supporting the definition and re-use of metamodel refactorings in a disciplined way. This paper proposes Edelta, a domain specific language for specifying r...

متن کامل

Composite Refactorings for EMF Models

Models are primary artifacts in model-based, and especially, in model-driven software development processes. Due to their central role, the quality of models must be high to lead to software products of high quality. A common technique for improving the quality of software artifacts is refactoring. Originally developed for code structure improvement, the concept of refactoring has been raised t...

متن کامل

Using Programming Laws to Modularize Concurrency in a Replicated Database Application

As the use of AspectJ grows, it seems appropriate to define refactorings for that language. Most of the already defined aspect-oriented refactorings do not have a formal basis to ensure it preserves behaviour. This paper shows the application of programming laws and derived refactorings to separate a crosscutting concern from a system’s core logic using AspectJ. We used programming laws to incr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004